Nu: Towards an Aspect-Oriented Invocation Mechanism
نویسندگان
چکیده
The contribution of this work is the design, implementation and evaluation of a new aspect-oriented invocation mechanism for preserving design modularity in object code. We call our mechanism Bind. We make three basic claims. First, it is feasible to realize a programming model that supports Bind to preserve design modularity in object code. Second, the new invocation mechanism further improves the conceptual integrity of the aspect-oriented programming models by allowing advising and runtime properties of aspect-like constructs to be modeled as simple combinations of invocation primitives as opposed to new language constructs. Third, it brings new possibility for structuring aspect-oriented systems, removing the commitment to a single aspect-language model, and expanding the program design space to include arbitrary combinations of language models and advising structures. To support these claims, we present the design and implementation of Nu, a programming model based on the .NET Framework that supports Bind as an invocation mechanism. We show that Nu supports aspect-oriented program designs where multiple aspect-language models can be emulated using Bind, and used in arbitrary combinations without compromising the design modularity in the object code.
منابع مشابه
Aspect Reasoning by Reduction to Implicit Invocation
Aspect-oriented programming constructs complicate reasoning about program behavior. Our position is that we can reduce key elements of aspect programming to implicit invocation (II) and then use existing work on reasoning about II to reason formally about aspect programs. We map aspect-oriented programs to equivalent programs with join points and advice replaced by event notifications and obser...
متن کاملComponent-Based Specification of Distributed Systems
We suggest that hidden algebra can provide a setting for component specification and composition that has the advantages of algebraic specification, without the disadvantages of object-oriented approaches where communication between components is mediated solely by method invocation. We propose a basic composition mechanism for hidden algebraic component specifications that is based on communic...
متن کاملTowards More Generic Aspect-Oriented Programming: Rethinking the AOP Joinpoint Concept
In aspect oriented programming, the concepts of joinpoint and pointcut have always been central and have, as their names imply, been centered around the idea of a point in a program’s execution. Furthermore, in practical terms this has often been synonymous with points in the static representation of the program where invocation of advice can be inserted. We present here ideas for rethinking bo...
متن کاملQuantified, Typed Events for Improved Separation of Concerns
Implicit invocation and aspect-oriented languages provide related but distinct mechanisms for separation of concerns. Implicit invocation languages have explicitly announced events, which runs registered observer methods. Aspect-oriented languages have implicitly announced events, called “join points,” which run methodlike but more powerful advice. A limitation of implicit invocation languages ...
متن کاملA Unified Model of Aspect - Instantiation Policies [ Extended
One important concept in aspect-oriented execution environments is implicit invocation, typically supported through the pointcut-advice approach [13]. In this approach, functionality is given by an advice which is implicitly executed at execution points determined by pointcuts. In general, advices preserve state across multiple invocations and even multiple advices may share state. Aspect-orien...
متن کامل